package cc.autoapi.pucong.auto.flow.provider.aop.entity;

import cc.autoapi.pucong.auto.flow.persistence.po.aop.ProjectAopRulePo;
import cc.autoapi.pucong.auto.flow.provider.aop.entity.dto.ProjectAopRuleInsertDto;
import cc.autoapi.pucong.auto.flow.provider.aop.entity.qo.ProjectAopRuleQo;
import cc.autoapi.pucong.auto.flow.provider.aop.entity.dto.ProjectAopRuleUpdateDto;
import cc.autoapi.pucong.auto.flow.provider.aop.entity.vo.ProjectAopRuleExecVo;
import cc.autoapi.pucong.auto.flow.provider.aop.entity.vo.ProjectAopRuleVo;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
* @author pucong
 * @url https://gitee.com/pucong
* @create 2023-11-21
*/
@Mapper(componentModel = "spring")
public interface ProjectAopRuleBeanConvert {
    ProjectAopRuleBeanConvert INSTANCE = Mappers.getMapper(ProjectAopRuleBeanConvert.class);

    /**
     * dto转do
     * @param projectAopRuleDto
     * @return
     */
    ProjectAopRulePo dto2do(ProjectAopRuleUpdateDto projectAopRuleDto);

    /**
     * dto转do
     * @param projectAopRuleDto
     * @return
     */
    ProjectAopRulePo dto2do(ProjectAopRuleInsertDto projectAopRuleDto);

    List<ProjectAopRuleExecVo> vo2execVos(List<ProjectAopRuleVo> projectAopRuleList);
}
